package com.shujia.day07;

/*
    多态：指的是某一个事物，在不同时刻下的不同状态
    举例：水【气态的水，液态的水，固态的水】
        水果【🍉，🍇，🍎】

    java实现多态有三要素：
        1、要有继承关系
        2、要有方法的重写
            子类可以不重写父类中的方法，但是重写了会更好的体现子类的特点
        3、要有父类的引用指向子类对象

 */
class Animal2{
    String name;
    int age;

    public void eat(){
        System.out.println("吃");
    }

    public void sleep(){
        System.out.println("睡");
    }
}

class Dog2 extends Animal2{
    @Override
    public void eat(){
        System.out.println("🐕吃🥩");
    }

    @Override
    public void sleep(){
        System.out.println("🐕侧着睡");
    }
}

class Cat2 extends Animal2{
    @Override
    public void eat(){
        System.out.println("🐱吃🐟");
    }

    @Override
    public void sleep(){
        System.out.println("🐱蜷着睡");
    }
}


public class DuoTaiDemo1 {
    public static void main(String[] args) {
        //要有父类的引用指向子类对象
        Animal2 a1 = new Dog2(); // 类与类之间的多态

//        Dog2 d1 = new Cat2();
    }
}
